/******************************************************************
 Copyright (C) 2019 - All Rights Reserved by
 文 件 名 : shellwidget.h --- ShellWidget
 作 者    : Niyh(lynnhua)
 编写日期 : 2019
 说 明    :
 历史纪录 :
 <作者>    <日期>        <版本>        <内容>
  Niyh	   2019    	1.0.0 1     文件创建
*******************************************************************/
#ifndef SHELLWIDGET_H
#define SHELLWIDGET_H

#include <QTextEdit>

class ShellWidget : public QTextEdit
{
    Q_OBJECT
public:
    explicit ShellWidget(QWidget *parent = nullptr);
    ~ShellWidget();
signals:
    void signalCommand(const QString &cmd);

private:
    int insertedChars;
    int cursorPosition;
    QString command;

    QString processPath;
    QTextCursor cursor;

    QColor fontColor;
    QStringList commandHistory;
    QStringList commands;
    int commandHistoryPosition;

protected:
    void keyPressEvent(QKeyEvent *e);

};

#endif // SHELLWIDGET_H
